home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
001
/
ags210.arc
/
AGSAPPC.TXT
< prev
next >
Wrap
Text File
|
1988-05-07
|
62KB
|
1,710 lines
APPLICATIONS GENERATOR SYSTEM
By R.L. Coppedge, CDP
Please note:
If you are not interested in creating your own application please
do not spend an abundance of time on this Appendix, as it may be
confusing to someone who is mainly a user, and unfamiliar with
Dbase III+.
Section Topic Page #
Section C1.0 Introduction. . . . . . . . . . . . . . 1
C1.1 What you need to Begin . . . . . . . . . . . 1
Section C2.0 Installing AGS Itself. . . . . . . . . . 3
C2.1 Installing AGS from an Archive (ARC) file . . 3
Section C3.0 Installing Create. . . . . . . . . . . . 4
Section C4.0 Running CREATE . . . . . . . . . . . . . 5
C4.1 The MAIN Database . . . . . . . . . . . . . . 5
C4.2 The Create Database . . . . . . . . . . . . . 7
C4.3 Editing the CREATE Database . . . . . . . . . 10
C4.4 Building the Create Files . . . . . . . . . . 11
C4.5 A list of Create Files . . . . . . . . . . . 12
Section C5.0 Modifying Generated Code and Databases. 14
C5.1 A List of Generated Code and Files . . . . . 14
C5.2 Modifying Create-Generated Code . . . . . . . 14
Section C6.0 Modifying the Main Programs. . . . . . . 16
C6.1 Data Verification . . . . . . . . . . . 17
Section C7.0 Starting your System . . . . . . . . . . 19
Section C8.0 Adding more Applications . . . . . . . . 20
Section C9.0 Don't do the Following! . . . . . . . . 21
Section C10.0 Registration . . . . . . . . . . . . . . 22
Section C11.0 Thanks and Thoughts . . . . . . . . . . 24
Section C12.0 Limitations. . . . . . . . . . . . . . . 25
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Illustrations, Figures and Good Stuff Like That
Figures: Page:
Figure C-1 Subdirectory Structure . . . . . . . . . 2
Figure C-2 Create's Main Menu . . . . . . . . . . . 5
Figure C-3 The Main Database . . . . . . . . . . . 5
Figure C-4 Main.Dbf Entry Screen . . . . . . . . . 7
Figure C-5 The CREATE Database . . . . . . . . . . 8
Figure C-6 Create Edit Screen . . . . . . . . . . . 10
Figure C-7 Create's Initial Screen . . . . . . . . 11
Figure C-8 CREATE's Main Screen . . . . . . . . . . 12
Figure C-9 VERIFY Databases . . . . . . . . . . . . 17
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C1.0 Introduction.
When creating a new application through the AGS, it is
assumed that the person doing so has a relatively complete
understanding of both the Dbase III+ syntax, and the programming
language itself, as well as knowledge of MS-DOS commands.
C1.1 What you need to Begin
Prior to beginning anything with the AGS, the user should
have the following items prepared:
1> a subdirectory layout will be installed automatically
on installation as detailed in Figure C-1. The user should
ensure that nothing would be upset by such activity.
2> Dbase III+ should be installed properly, as well as
the MS-DOS CONFIG.SYS file, which should at the minimum have the
command FILES=20. Also, the CONFIG.DB file located in the Dbase
III+ subdirectory should NOT have the "COMMAND = ASSIST" line in
it.
3> A directory should be made available that contains the
files AGS.ARC, and the program used to de-Archive it.
4> The user should know the name of the database. For
this appendix, the application shall be known as APP, and is
contained in the directory \DBDATA\APP. Although this is not
needed knowledge for installing the AGS, it will be critical in
order to use it.
5> A list of all necessary Sort Orders is made (including
field names)
6> A text editor should be available, (the program files
are too big for Dbase III+'s MODI COMM command).
7> You are familiar with the database function you wish to
use and how you want it to work.
8> You are willing to work through the documentation!
Please note that we will assume that the database structure
of APP is identical to that of TEST in Section 4.1 of the Main
Documentation.
1
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
--
_____________________________________________________________
| |
| |
| |
| |
| ROOT |
| \ |
| \DBDATA--\------"App" |
| \-----Help |
| \----Create |
| \---Main |
| |
| \DBASE Stores Dbase III+ itself. |
| |
| \DBDATA\HELP Stores the generic Command Line |
| Help Databases (Section 10.2) and Documentation |
| |
| \DBDATA\CREATE Stores the Create Programs |
| when not in use (for future uses) |
| |
| \DBDATA\MAIN Stores the copies of the Main |
| Programs for future use and .BIN files |
| |
| \DBDATA\APP Stores all programs and Data |
| relevant to Application APP |
|___________________________________________________________|
Figure C-1 Subdirectory Structure
2
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C2.0 Installing AGS Itself.
The file AGS.ARC contains all programs and files (aside from
Dbase III+ itself and your database file you create) necessary to
build your application. It also will build a subdirectory
structure, as detailed in Figure C-1, automatically building
\DBDATA, \DBDATA\CREATE, \DBDATA\MAIN, and \DBDATA\HELP. It will
be up to you to build \DBDATA\APP (where APP is the name of both
the application, subdirectory, and the database itself. You give
it whatever name you want, as long as it is a valid Dbase III+
database name).
C2.1 Installing AGS from an Archive (ARC) file
If you have downloaded the AGS from a BBS, and have the file
"AGS.ARC", you have apparently de-ARChived it enough to get this
file from it (APPENDC.TXT). If not, do the following:
1> Move AGS.ARC to any empty subdirectory.
2> De-archive the files:
ARCE AGS<Enter> *(this may change, depending on the de-ARC
program)
3> Begin the installation program. Enter:
INSTALL <Path><Enter>
<Path> is the data directory where Dbase is residing.
Traditionally, this would be:
INSTALL \DBASE <Enter>
And then sit back and watch the system go to town. The
system will:
1> Create Necessary subdirectories.
2> Move proper files to proper places.
3
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C3.0 Installing Create.
Assuming that you have performed tasks #1,2 and 3 in the
previous section, you are ready to start Create. This is the
first step in making an application using the AGS.
From now on, you must be in Dbase III+ to make all of this
work. This is so it doesn't unwittingly erase anything crucial.
As stated before, we're going to call the application to be
created "APP". We need to Create a new directory, \DBDATA\APP.
So let's get on with it, ok? Commands underlined are to be
entered by you:
Dbase AGSCr<Enter> (This starts Dbase III+ for you)
This is run only when you are initially setting up the file.
If you've already done this, ignore this step. The system will
verify that you in fact want to perform this step, and then will
prompt you with:
What is the Database's Name :
Where you would enter "APP" (or whatever you were calling yours).
Again, the system will verify your response, and perform the
following:
1> Create the subdirectory C:\dbdata\"APP"
2> Move all Main files there
3> Update the Main.Dbf database
4> Begin the Create program for you.
If you later needed to simply run the Create program, you would:
1> Enter Dbase normally (DBASE <Enter>)
2> Change subdirectory (!CD \DBDATA\APP <Enter>)
3> Begin the Create program (DO \DBDATA\CREATE\CREATE <Enter>)
But for now, the system will start Create for you.
4
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C4.0 Running CREATE
At this point you should be in the Create program. If not,
we would start it by entering:
DO \DBDATA\CREATE\CREATE <Enter> (while in Dbase, and from the
\DBDATA\APP subdirectory)
The resultant menu is shown in Figure C-2.
Application Generator System ---- RL Coppedge, CDP
You should run these steps in approximate order...
The name of the database is : APP
You can:
1> Edit the Main.Dbf database file
2> Create or Modify your Database
3> Build the Shell Create.DBF
4> Edit the Create.DBF
5> Build the Support Files
Which one do you want (1-5,Q)
Figure C-2 Create's Main Menu
C4.1 The MAIN Database
There are actually three databases involved in an AGS
application. The first (and easiest by far) is the database
MAIN.DBF. This database has one record, and really only two
critical fields, and four optional fields. Only the first field
(NAME) is absolutely necessary; the remainder are optional. The
structure looks something as in Figure C-4 (acquired using a
Dbase LIST STRUCTURE Command):
Structure for database: C:main.dbf
Number of data records: 1
Date of last update : 03/19/88
Field Field Name Type Width Dec
1 NAME Character 8
2 TITLE Character 25
3 BELL Logical 1
4 CONFIRM Logical 1
5 DELETED Logical 1
6 EXACT Logical 1
7 DBASE_PTH Character 25
** Total ** 63
Figure C-3 The Main Database
5
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
The fields are used for:
1. NAME. Lets the AGS know what database it is currently
using. It should be the name of the Dbase file minus the ".DBF"
extension. Example: If we are using our App database, then the
field would simply contain "APP" (minus the quotes).
2. TITLE. Appears on many of the screens. A 25 character or
less title that describes what the database is. Optional, but
recommended.
3. BELL. Sets the Bell option initially ON or OFF. You can
change it later through the housekeeping function. See the Dbase
III+ documentation for further description of the Bell.
4. CONFIRM. Sets the Confirm option initially ON or OFF. You
can change it later through the housekeeping function. See the
Dbase III+ documentation for further description of Confirm.
5. DELETE. Sets the Delete option initially ON or OFF. You
can change it later through the housekeeping function. See the
Dbase III+ documentation for further description of Delete.
6. EXACT. Sets the Exact option initially ON or OFF. You can
change it later through the housekeeping function. See the Dbase
III+ documentation for further description of Exact.
7. DBASE_PTH. Lets the system know where Dbase III+ is
residing, so that the initial program (App.prg) will be placed
properly.
Now, this database has only one record, which is originally
empty. If that record does not have information edited to it
with the Application default information prior to anything else
happening, Create will not work, AGS will not work, nothing will
work. If it is ever moved, Create will not work, AGS will not
work, nothing will work. Hopefully you get the idea. AGS is not
(at this point) terribly intelligent for handling errors here, so
you have to keep track of this mostly yourself.
Changing Main.DBF
Select option #5 in the Create Main Menu. The screen shown
if Figure C-4 will show up. Simply enter the information
according to your particular desires.
You can change any field in Main at any point in time even
after generation of the system...except NAME and DBASE_PTH.
Don't ever change them.
6
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Application Generator System ---- RL Coppedge, CDP
For the Database within this Directory:
What is the Name of the Database test
What is the Database Title : Sample DB
A 'Y' response corresponds to 'ON'
What is the Default Bell Setting : N
What is the Default Confirm Setting : N
What is the Default Deleted Setting : N
What is the Default Exact Setting : N
What is the Directory Name for where Dbase is ___________
Figure C-4 Main.Dbf Entry Screen
C4.2 Creating your APP database
Selecting Option #2 from Creates main menu (Figure C-2) will
help you in creating (originally) or modifying (changing later)
the structure of your database. The system will display the
choices found in Figure C-5:
Application Generator System ---- RL Coppedge, CDP
For the database : App
This Database Does NOT yet Exist
Are you ready to:
(C)reate your database structure
(M)odify your database structure
(E)rase your database and try again
Which one do you want to do (C,M,E, (Q)uit)
Figure C-5 Creating the Database
Basically by selecting any of these options you can change the
structure of your database. The program simply invokes the Dbase
command "Create" or "Modify structure". Refer to your Dbase III+
documentation for more information.
C4.21 Changing Your Structure
Should the need arise after you've created your system and
have been using your database, and then you need to change the
7
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
structure, you have the following options:
1> Go into the Create.Dbf manually (Dbase Edit) and make
necessary changes after modifying APP.dbf Then DO Create but DO
NOT CREATE SHELL CREATE.DBF! and rebuild files.
2> Treat it as a new application and reenter information.
C4.3 The Create Database
By far this is the toughest part of the system, not in
technical entry, but in your own design. If done properly, the
system you want will operate smoothly. If not, you're in for a
bit of trouble. Take the time to read the AGS user documentation
prior to doing this. Design your database carefully, and with
all of this in mind. Remember that the best software in the
world can't help poor planning. Perhaps this package even more
so.
The CREATE database defines each field in the database, and
their role. Each record in CREATE represents a field in the
database APP. CREATE defines what the characteristics are of the
field as it relates to other fields, and to the main program.
The structure is thus (again with the Dbase LIST STRUCTURE
Command) shown in Figure C-6:
Structure for database: C:create.dbf
Number of data records: 0
Date of last update : 03/13/88
Field Field Name Type Width Dec
1 FIELD_NAME Character 10
2 FIELD_TYPE Character 1
3 FIELD_LEN Numeric 3
4 FIELD_DEC Numeric 3
5 FIELD_DSC Character 40
6 FIELD_DSC2 Character 40
7 FIELD_TITL Character 15
8 FIELD_QRY Character 20
9 SORT Logical 1
10 UPPER_CSE Logical 1
11 SORT_TITL Character 20
12 INDEX_NM Character 8
13 SORT_LTTR Character 1
14 INIT_CVAL Character 80
15 INIT_DVAL Date 8
16 INIT_NVAL Numeric 19 5
17 INIT_LVAL Logical 1
18 SRCHBRO Logical 1
19 VERIFY Logical 1
** Total ** 274
8
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Figure C-6 The CREATE Database
A lot of the records in CREATE (each record represent APP's
fields, remember) have several of their fields blank, since
several CREATE fields are highly specialized. The first four
fields you should recognize as Dbase attributes. The fields are
as follows:
1 FIELD_NAME Character 10
Field_name is the name of the field as it appears in the database
APP. It is capitalized.
2 FIELD_TYPE Character 1
Field_type is the type of field it is. Either "L"(logical),
"N"(Numeric), "C"(Character), "D"(Date) are allowed.
3 FIELD_LEN Numeric 3
Field_len is the maximum length the field can be.
4 FIELD_DEC Numeric 3
If the field is a numeric one, than Field_dec shows how many
decimal places there can be.
5 FIELD_DSC Character 40
Field_dsc is the first line of text that will show up on the help
screen for this variable (see Section X, "Help" main AGS user
Documentation)
6 FIELD_DSC2 Character 40
Field_dsc2 is the second line of text that will show up on the
help screen for this variable (see Section X, "Help" main AGS
user Documentation)
7 FIELD_TITL Character 15
Field_titl is the description used by the data entry screen to
refer to the field.
8 FIELD_QRY Character 20
Field_qry is the description used by the Sort Option screen.
This should have a value only for values to be included as a Sort
Option.
9 SORT Logical 1
9
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Sort should be set .T. (Yes) if:
a> the value is a Sort Option.
and b> if during sort, you would want Subtotals on this field.
10 UPPER_CSE Logical 1
Upper_cse should be .T. (Yes) if:
a> the value is a Sort Option.
and b> UPPER CASE VALUES = lower case values.
11 INDEX_NM Character 8
If the field is a Sort Option, this is the name of the index file
under which the index is stored.
12 SORT_LTTR Character 1
If the field is a Sort Option, this is the letter it can also be
referred to by on the Sort Option screen.
13 INIT_CVAL Character 75
If the field is a Character field, this is the initial value the
field would have during initial data entry.
14 INIT_DVAL Date 8
If the field is a Date field, this is the initial value the
field would have during initial data entry.
15 INIT_NVAL Numeric 19 5
If the field is a Numeric field, this is the initial value the
field would have during initial data entry.
16 INIT_LVAL Logical 1
If the field is a Logical field, this is the initial value the
field would have during initial data entry.
17 SRCHBRO Logical 1
If the field is to be included in the output of the Search or
Browse function, this is a .T. (Yes).
18 VERIFY Logical 1
If the field is going to have verification checks performed on
it, this flag should be set to .T. (Yes).
10
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
19 BLANK_FLD Logical 1
If this field MUST have a value for the record to be "legit",
this field should be .T. (Yes). This will come into play when
running the "Delete Blank Records" Function, in Housekeeping.
C4.4 Initializing the CREATE Database
Assuming you've already defined the APP database (or
whatever you're calling yours), you've still got to initialize
the CREATE database to properly reflect the various fields. To
do that, you must, from the CREATE program, build the Shell of
Create.Dbf. So from the Create program, Choose Option #1, "Build
the Shell Create.DBF". The program will then verify you wish to
do that, and make a version of Create.dbf which has one record
for each field in the APP database, with the first four fields in
each record properly filled in.
C4.3 Editing the CREATE Database
Now you want to add some of the specific information into
the Create database to add some spice to it all. Choose option
#2, "Edit the Create.DBF". This function will then ask you if
you want to do the fields one at a time or all of them. Choose
to do all of them (you'd do one at a time for fine tuning, when
you become more adept at using this beastie). The system will
then choose the first field in the APP database (first record in
the CREATE), and display what is shown if Figure C-7.
Field Name :MR_MRS Type: C
Length : 12 Decimal Places 0
What is the Data Entry Label for this Field :Mr,Mrs,Ms,Dr
Enter the help description for the variable:
Line #1:
Line #2:
Answer these only for Sort Option Variables
What is going to be Sort Option Desc? Mr,Mrs,Ms,Dr
Do you want subtotals on a Search with this SO? F
What do you want to call the Index File?
What's the Letter used on the SO screen?
Should the sorting be done all uppercase? F
Should the field display in the Search/Browse F
Is this a verifiable Field? F
Are Blank Fields allowed? F
Enter Default Value for Data Entry:
Mr.
Figure C-7 Create Edit Screen
11
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
(SO Means Sort Option, by the way).
When you've answered all of the questions, the computer will
ask "(S)ame, (N)ext, (P)revious, (Q)uit". By selecting one of
those choices, you choose which field to change, if any.
For most fields in your database, you're only going to have
to fill in the first three lines. More important ones (the sort
fields) will take a little longer. Once you're done, choose "Q".
C4.5 Building the Create Files
Now you're ready for the final step in preparing your
Application...building your Create files. Choose Option #3,
Build the Support Files. The system will then respond with a
window as shown in Figure C-8:
Do you want to Run this? Y
Do you want the Create default Y or N Y
Figure C-8 Create's Initial Screen
This Section will build the following programs:
I(Database Name).PRG
C(Database Name).PRG
E(Database Name).PRG
R(Database Name).PRG
P(Database Name).PRG
T(Database Name).PRG
S(Database Name).PRG
PR(Database Name).PRG
W1(Database Name).PRG
W2(Database Name).PRG
M(Database Name).PRG <----This one resides in the same
directory as Dbase
Create will also build empty database files (with 1 blank record)
for use in the verification function:
(Field Name).DBF
Each file has a critical role to play in the AGS, and is used
extensively throughout the system. CREATE builds them.
As before, the system will look to the what you've created
in the Create.DBF database for information you've provided. It
will then ask you to verify that you want to do this,and if the
file defaults should be Yes or No Build. Initially, select the
12
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
values as they are shown in the Figure C-8. After that, the
system will display what is shown in Figure C-9. As you can see,
there are several files that must be generated in order for the
system to be able to run on your particular database.
E> Entry Screen File...Currently: Build
I> Initialize File...Currently: Build
P> Public File...Currently: Build
T> Transfer File...Currently: Build
S> Save File...Currently: Build
PR> Print File...Currently: Build
W1> WPS Convert 1 File...Currently: Build
W2> WPS Convert 2 File...Currently: Build
C> C Sort Menu File...Currently: Build
R> Reindex File...Currently: Build
V> Verify File...Currently: Build
M> Main Program File...Currently: Build
Hit the letter on the left of the line you want to change
or Q to end
Figure C-9 CREATE's Main Screen
At the end of each line are either the word(s) Build or No
Build. If you had selected N earlier, they would have started
out as 'No Build'. To change one, just enter the letter(s) on
the left that corresponds to the file you want to change.
They'll toggle from 'Build' to 'No Build'. For the first run you
want them all to be Build, but later on you may only want to
regenerate some of them. When you're satisfied, simply enter
'Q<Enter>' and the system will then build all files (10 in all).
The actual names of these files are the letter on the left plus
the Application name plus the extension ".PRG". So, for
example, the print file would be PRAPP.PRG.
When you enter Q and hit <Enter>, the system will display
messages that it's building each file. Once done, the system
will ask you if you want to Reindex your Database. If you say
no, then the system will bomb the first time you do data entry.
Once create is done, you have the option of erasing the
Create programs. This will erase all Create-related programs
(only in the \DBDATA\APP directory. They're also in the
\DBDATA\CREATE, remember). (You don't need them again unless you
make changes to the database structure). Do not do this until
you're sure everything works! You can rerun Create, and choose
to delete the files later!
13
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
If you need to run Create again after deleting the Create
files, simply: 1> Move all ".PRG" files from the \DBDATA\CREATE
subdirectory, 2> Run Create again!
C4.6 A list of Create Files
The following is a list of all files involved in the Create
process:
CREATE.PRG Driver of Create process
CRMAIN.PRG Edits Main.dbf file
CRDBBLD.PRG Helps build database
CRSHELL.PRG Builds Shell Create.dbf
CREDIT.PRG Edit Create.dbf
CRBUILD.PRG Builds AGS Support Files
CRDELETE.PRG Deletes Create programs
EBLD.PRG Builds Data Entry File
IBLD.PRG Builds Data initialize File
PBLD.PRG Builds Public Variable File
TBLD.PRG Builds Transfer Memory -> Disk File
SBLD.PRG Builds Transfer Disk -> Memory File
PRBLD.PRG Builds Print File
W1BLD.PRG Builds 1st Conversion File for WP Conversion
W2BLD.PRG Builds 2nd Conversion File for WP Conversion
CBLD.PRG Builds Sort Menu Program
RBLD.PRG Builds Reindex File Program
MBLD.PRG Builds initial program (moves from
\DBASE to \DBDATA\APP)
VBLD.PRG Builds empty Verify Databases
14
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C5.0 Modifying Generated Code and Databases.
Once Create has done its duty, you're close but not quite
there. First, you must make very small modifications to the
created code, so that it will be more understandable by the user.
Generally speaking, these modifications are only necessary for
data entry screens or display screens. In these cases, this is
limited to making them more palatable for the user and grouping
the information more logically for the application.
C5.1 A List of Generated Code and Files
The following is a list of all Files created by the Create
process:
Name Used In: Description:
EAPP.PRG I Data Entry Screen
IAPP.PRG I Initialize values for new records
PAPP.PRG I Sets all memory variables public
TAPP.PRG I Transfers memory to disk
SAPP.PRG I Transfers disk to memory
PRAPP.PRG I Hardcopy printout (Inquiry/Entry)
W1APP.PRG W Initialize variables for WP Conv.
W2APP.PRG W Initialize more variables for WP Conv.
CAPP.PRG ISW Chooses Sort Order for Access to Info.
RAPP.PRG H Performs Reindexing of Data
APP.PRG B Starts whole system
Used In:
I Inquiry/Entry
S Search
W WP Conversion
H Housekeeping
B Beginning
Also created are database files (named after the field in
the APP database) which are used for verification (see Section
C6.0).
C5.2 Modifying Create-Generated Code
There are basically two files that usually have to be
modified. They are the data entry module (EAPP.PRG) and the
hardcopy printout file (PRAPP.PRG). These two screens will work
without changes. But they'll work even better if you make some
simple changes.
To see how your data entry screen will appear, enter the
following:
DO PAPP (this will make your variables public)
DO IAPP (this will give them initial values)
15
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
DO EAPP (this will display your d/e screen)
Your screen should show up...if you like it, fine. But I
suggest you move things around so that they make a little more
logical order.
If you use a text editor within Dbase (I prefer Borland's
Sidekick) you can take a look at your screen after changing it by
simply running EAPP (you don't have to run the other two again).
Of course, you can also use the Dbase Editor (Modify Command
EAPP). Either way, through some relatively simple changes, it
would be easier for a relative novice to use and understand. The
same type of modification is recommended for the PRAPP.PRG
program file.
Another key thing to note is that if your database contains
more than 24 fields, there are two files which MUST be modified
(the calculated @..SAY's will be off of the screen). The files
are:
E<App>.PRG (the data entry screen)
W1<App>.PRG (the WP conversion selection screen)
The system will display a message to this effect when
needed.
(all of this needs to be done within Dbase)
16
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C6.0 Modifying the Main Programs.
The following Main files are used by the AGS:
File Name Note Description
Marker
MENU (1) Main Menu (Sec. 3.0, Fig. 3-1)
MAINT (2) Inquiry/Entry (Sec. 4.0)
REPORT (3) Reports (Sec. 5.0)
TRANS (3) File Transfer (Sec. 6.0)
WPSCONV : (2) WP Conversion (Sec. 7.0)
CVWPS Process for WP Conv
WSMOD Module for Wordstar 2000
WPMOD Module for Word Perfect
WPSMOD Module for WPS PC+
DSP4MOD Module for Display Write IV
DBMOD Module for Dbase III+
CVWMAC External Macro Commands
SEARCH (2) Search (Sec. 8.0)
VERVAR Verify variable names
HOUSE Housekeeping (Sec. 9.0)
BACKUP Data/Program Backup (Sec 9.1)
* VERIFY Data Verification (Sec.9.3)
CONTROL Sets Control options (Sec 9.4)
BLANK Deletes Blank Records (Sec 9.5)
PACK Erases deleted data (Sec. 9.6)
HELP Help (Sec. 10.0)
CVHLP Process for Help
FILTER (2) Selection Criteria Maint. (Sec. 11.0)
VEREDT Maintains list of Ver. Data (Sec. 12.0)
REGINFO Where Do ya send da bucks(Sec 13.0)
Multiple Use Programs:
ERROR
FLTGUIDE (4)
FLTERR (4) Bad Selection Criteria mess. (Sec. 11.0)
MANFLT (4)
GETFLT (4) Chooses Selection Criteria (Sec. 11.0)
LIGHTBAR (4),(5)
Database:
FLT Selection Criteria Database (Sec. 11.4)
BROWSE Temporary Database for Browse
(Sec. 4.0,11.0)
Forms:
FILTER Selection Criteria Rep Form (Sec. 11.0)
VERIFY Verify Report Form
17
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
MENUBAR.BIN (5) Both files used for loaded
DBWIND.BIN (6) additional modules.
!-The databases used by this program has a potential modification
of some type or another, and are covered in this Section (C6.1).
*-These files must be contained in the \DBDATA\MAIN
subdirectory. All other files listed should be in the
\DBDATA\APP subdirectory.
Note Marker:
1- Main menu, loads the files: Menubar.bin, Dbwind.bin, sets
the error program Error.prg.
2- Uses the set of Selection Criteria programs.
3- Basically shell menu programs, which can be added to or
modified as needed.
4- All part of the Selection Criteria entry routine.
5- Supplied through Ashton-Tate's Dbase Utilities, Volume I
(good book!)
6- Compliments of who, I honestly don't know...all I have is
this file which works kinda nice...
C6.1 Data Verification
Verification is a function that must be defined
independently of each database application. When you run the
Create function, you specify the fields which would need
verification. A Verify database is created for each of those
fields (named after the fields themselves). Each Verify database
initially contains one record each. The database has the
structure as shown in Figure C-10.
_____________________________________________________________
| |
| Structure for database: C:verify.dbf |
| Number of data records: 1 |
| Date of last update : 03/18/88 |
| Field Field Name Type Width Dec |
| 1 FIELD_NAME Character 9 |
| 2 F_LOW_VAL Numeric 10 4 |
| 3 F_HIGH_VAL Numeric 10 4 |
| 4 F_OLD_DATE Date 8 |
| 5 F_NEW_DATE Date 8 |
| 6 FLD_VAL Character 80 |
| 7 BLANKS Logical 1 |
| ** Total ** 127 |
|___________________________________________________________|
Figure C-10 VERIFY Databases
18
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Verification works on three data field types, Character,
Numeric, and Date. There is no particular verification test on
logical data types (I couldn't think of why there should be one).
Both numeric and date checks are low value >= data <= high value
(greater or equal to 6 but less or equal to 12, that sort of
thing), whereas character checks against a database (with the
same name as the field it's checking) which contains nothing but
a list of legitimate values for that field.
To prepare the verify program for use, simply follow these
steps:
1> Identify each field that needs verification, and the
limits (low and high -end, in the case of numeric or date fields.
A list of good values, in the case of character fields) that each
field has.
2> Edit (and append) the Create database so that each
record has the Verify field set '.T.'.
3> Run the Create function. If already run, run it again
with only the V-function chosen as "Build":
("V> Verify File...Currently: Build").
4> Edit the Verify databases that Create made. Remember
that the name of the actual database file is the field name and
with the same structure as Figure C-9. You would edit them as
follows:
Date Fields: Edit the 1st record so that F_OLD_DATE
contains the oldest acceptable date, and F_NEW_DATE contains the
most recent.
Numeric Fields: Edit the 1st record so that F_LOW_VAL
contains the smallest acceptable number, and F_HIGH_VAL contains
the most largest.
Character Fields: Append the database so that it has one
record for each acceptable value. Each record would have the
variable set to equal an acceptable value.
19
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C7.0 Starting your System
Real simple here. There are three ways:
1> From the Dbase III+ dot prompt (and subdirectory), type in:
DO APP <Enter>
2> From the Dbase III+ dot prompt and the APP subdirectory:
DO MENU <Enter>
3> From the C> prompt:
first move to the Dbase III+ subdirectory (assuming that \DBASE
is it):
CD \DBASE <Enter>
and then enter the Dbase III+ command:
DBASE APP <Enter>
20
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C8.0 Adding more Applications
There is no theoretical limit to the number of applications
your system can have, other than standard disk capacity. When
you add a new system, you need to do the following (let's assume
you want to add an application called Track):
1> DBASE AGSCR <Enter> (create new subdirectory)
2> TRACK <Enter> (when it asks for DB name)
3> DO \DBDATA\CREATE\CREATE <Enter> (although AGSCR will go
into Create, just make sure I
mention it)
4> MODI COMM ETRACK <Enter> Modify your entry screen
(if needed)
5> MODI COMM PRTRACK <Enter> Modify your print program
(if needed)
14> DO MENU <Enter> Run it!
21
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C9.0 Don't do the Following!
There are some things you shouldn't do with your AGS. They
include:
a> Defining more than four Sort Options. (If the users of
this system let me know there's a need, more can be added)
b> Using Memo fields. (Future Release)
c> Use the following as field or application names:
Create
?Bld (any letter followed by "Bld")
Create1
Browse
Flt
Main
Name
Some others...in the registered version I will include
a variable map. If you run into really bizarre problems, that
could be the reason. Rename you Dbase variables and try again.
d> Do not use fields with the first 6 letters being
identical to one another.
e> Do not change the Create.dbf directly (through Edit,
etc) without being sure of what you're doing!!
f> At least have 1 indexed field in the database.
g> Don't hesitate to let me know what kind of improvements
you'd like to see in future releases!
g> Give up...
22
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C10.0 Registration
Although this is a fully functional system, there are
several things that are left out. Amongst them are:
Specific technical documentation.
Multiple Screens for Data Entry.
User Classification.
Data Values based on Formulas.
Multi-field Sort Orders.
Multi-Database capabilities.
Sample Systems.
Advanced Help Capabilities.
Selection Criteria based on Functions.
Better Report Handling.
Faster running.
Support.
YES I plan to have a Dbase IV version...
(If Ashton-Tate doesn't beat me to it)
The AGS has already been used in several places, and for
many functions. They include:
Inventory Order Entry Management
Personnel Housing Title Transfers
Housing Financial Analysis Mailing List Maintenance
Travel Agent Customer Maintenance Union skills tracking
Computer Maintenance Simple A/R
Remote Data Entry Account Tracking
Get the idea?
As you can hopefully see, there really is no limit to the
type of application here. The version you have here has a limit
of 50 records for each database placed on it. By registering you
version, you would be given an unlimited use version. In some
cases, however, there are some changes which would make the
system run even smoother. But in order to make those changes,
you have to have a special registered system, which is delivered
with full Dbase code intact! (Shareware distributed version
contains executable only...)
But how do I register? (I hear you cry) Simple. Send
money (to support the Shareware concept) to:
RL Coppedge, CDP CIS #: 72117,165
446 Richmond Pk E 402A Genie: R.COPPEDGE1
Richmond Hts, Ohio Cleve Free-Net: AE069
44143
23
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
How much should you send? I leave that up to a debate between
you, your wallet and your conscience. (C'mon, Conscience!!)
A general suggestion:
single users: Companies, Consultants, etc.
Executable: $50 $100
W/Code: $100 $250
Code version also includes some technical documentation
explaining what it is you see.
Obviously, the more support of this type, the more likely it is
that I would continue to improve this system along the shareware
school of thought. There are a lot of improvement currently in
the test version 2.1...
24
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C11.0 Thanks and Thoughts
This has been a long time in coming. I first thought of
this back when working on a system on an Apple II in CP/M. The
inherent limitation of Dbase III+ I have always thought was that
without special programming, your data edits were always directly
on the database file itself (I'm sorry, but Ctrl^Q doesn't make
it with me). Certainly for new users having to depend upon
bizarre key combinations this could be difficult. So I tried to
build a system that would automatically design, build and
maintain the relationship between the memory variable and the
database field it represents.
With such capability, it was relatively easy to then
generate menu's, options and the like. Most of this was a
natural progression driven by my clients needs. Some were simply
my philosophy, which is keep the function digestible. If not,
the snazziest functions in the world aren't going to help.
In spite of Dbase's many additional functions, an
overwhelming need for DBMS's lies not in the functions, but in a
smooth way to take ones ideas and requirements and move them from
thought to paper to keyboard to database. This will hopefully
help.
Unfortunately, the documentation, although lengthy, stinks.
I apologize to those who forced themselves through it. Keep in
mind, though, that with the system understood, the AGS can
generate for you a complete database management/entry system,
with the following features:
1> Entry screens in English
2> Sorted data
3> Browse capabilities
4> Data Verification
5> Help Screens
6> Word Processing Interface
7> Free-Form Query
8> Controlled Data Entry
9> Open Report Menu
10> Open Communications Menu
11> More, I'm sure
...all in about 15 minutes. Plus, if you maintain a number of
systems (like I do), it makes maintaining them much easier.
Training and documentation is also easier.
The bottom line is, Does this work for you? I guarantee
that it probably won't for you. I also guarantee that it you toy
with it and play around, you might be pleasantly surprised....
Later!!! Bob
25
Copyright 1988 - RL Coppedge, CDP All Rights Reserved
Section C12.0 Limitations.
I take no responsibility for any loss of assets, tangible or
otherwise, which occur through the use of this software. I will
be more than happy to assist anyone in the use, but I refuse to
be a sitting duck in a lawsuit. If you do need help from me, be
polite and you're much more likely to get it.
26
Copyright 1988 - RL Coppedge, CDP All Rights Reserved